package com.biz.primus.app.rest.handler;

import com.biz.primus.base.exception.BizBusinessException;
import com.biz.primus.base.vo.handler.IRequestVo;
import org.springframework.core.Ordered;

import javax.servlet.http.HttpServletRequest;

/**
 * 构建请求处理链
 * 所有实现必须被mvc容器管理
 * 返回较小的order值的实现排在处理链更前方
 * @author jun.liu
 * @since 2017年11月3日
 * @usage 
 * @reviewer
 */
public interface BuildRequestHandler extends Ordered {
	int GlobalParamsHandlerOrderVaule = Ordered.HIGHEST_PRECEDENCE;
	int ClientTypeHandlerOrderValue= GlobalParamsHandlerOrderVaule - 1;
	int IpAddressHandlerOrderVaule = ClientTypeHandlerOrderValue - 1;
	int PostInitializationHandlerOrderVaule = IpAddressHandlerOrderVaule - 1;

	void handle(HttpServletRequest request, IRequestVo requestVo) throws BizBusinessException;
	
}
